﻿using Contracts;
using Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.Text;
using System.Threading.Tasks;

namespace Host1
{
    class Program
    {
        static void Main(string[] args)
        {
            //通过配置文件简化后的操作
            using (ServiceHost host=new ServiceHost(typeof(ShowTime)))//创建服务主机
            {
                //host.AddServiceEndpoint(typeof(IShowTime), new WSHttpBinding(), "http://127.0.0.1/showtime");//添加终结点
                //if (host.Description.Behaviors.Find<ServiceMetadataBehavior>() == null) //如果服务描述没有通过元数据的形式发布
                //{
                //    //服务寄宿将服务描述通过元数据的形式发布出来，相应的客户端就可以获取这些元数据创建客户端程序进行服务的消费
                //    ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
                //    behavior.HttpGetEnabled = true;//发布元数据
                //    behavior.HttpGetUrl = new Uri("http://127.0.0.1/showtime/metadata");//元数据发布位置
                //    host.Description.Behaviors.Add(behavior);
                //}
                host.Opened += delegate
                {
                    Console.WriteLine("服务已经启动，按任意键终止服务！");
                };
                host.Open();
                Console.ReadKey(true);
            }
        }
    }
}
